package com.fuyao.cloud.admin.flow.service.flowable;

import com.fuyao.cloud.admin.flow.dto.InstanceQueryParamsVo;
import com.fuyao.cloud.admin.flow.dto.ProcessInstanceVo;
import com.fuyao.cloud.admin.flow.dto.TaskQueryParamsVo;
import com.fuyao.cloud.admin.flow.dto.TaskVo;
import com.fuyao.cloud.admin.flow.model.PagerModel;
import com.fuyao.cloud.admin.flow.model.Query;

public interface IFlowableTaskService {

    /**
     * 查询待办总数
     * @param params
     * @return
     */
    Long getAppingTaskCont(TaskQueryParamsVo params);

    /**
     * @param paramsvo 查询参数
     * @param query    分页
     * @return
     */
    PagerModel<TaskVo> getAppingTasksPagerModel(TaskQueryParamsVo paramsvo, Query query);

    /**
     * 查询待办事项
     *
     * @param paramsVo 查询参数
     * @param query    分页
     * @return
     */
    PagerModel<TaskVo> getApplyedTasksPagerModel(TaskQueryParamsVo paramsVo, Query query);

    /**
     * 查询已发任务
     *
     * @param paramsVo 查询参数
     * @param query    分页
     * @return
     */
    PagerModel<ProcessInstanceVo> getMySendTaskPageModel(InstanceQueryParamsVo paramsVo, Query query);

}
